home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / e / amigae30a_fr.lha / AmigaE30f / Sources / Tools / LongReal / longreal.doc < prev    next >
Encoding:
Text File  |  1994-10-04  |  2.8 KB  |  107 lines

  1. longreal.m: Un module pour des flottants sur 64bits.
  2.  
  3. Le module introduit un type 'longreal' au langage E.
  4. Toutes les fonctions du module sont préfixés par un 'd' (pour 'double').
  5. Avant d'utilisez ce module, applez d'abord:
  6.  
  7.     dInit()
  8.  
  9. et avant de sortir, _toujours_ appeler:
  10.  
  11.     dCleanup()
  12.  
  13. dInit() peut lever une exception "DLIB" si il ne peut ouvrir une des
  14. bibliothèques IEEE double. Si vous n'avez pas besoin de fonctions
  15. transcendentales, dInit(FALSE) n'ouvrira seulement la
  16. mathieeedoubbas.library.
  17.  
  18.  
  19. Utiliser les réels longs comme type:
  20.     Il y a de nombreuses façon de créer des variables réelles longues.
  21.     Le plus simple est:
  22.  
  23.         DEF f:longreal
  24.  
  25.     ou:
  26.  
  27.         DEF f:PTR TO longreal
  28.  
  29.     et plus tard:
  30.  
  31.         NEW f
  32.  
  33.     aussi, vous poouvez faire des tableaux de réels longs, ou les utiliser dans les objets:
  34.  
  35.         OBJECT bla
  36.           x:INT, y:longreal
  37.         ENDOBJECT
  38.  
  39.         DEF a[100]:ARRAY OF longreal, b:bla
  40.  
  41. Comme vous le voyez, ilsmarchent comme les types prédéfinis.
  42. Dans l'exemple suivant
  43.  
  44.     f, a[1], a[10], b.y
  45.  
  46. tous sont des variables réelles longues. Elles peuvent être utilisé à chaque
  47. fois qu'un réel long est demandé dans les fonctions décrote plus bas.
  48. Notez cependant que, étant des objets, les réels longs sont passés par
  49. référence.
  50.  
  51.  
  52. i:=dFix(f)              dFloat(i,f)
  53.  
  54.     convertis un réel long en un LONG, et respectivement un LONG en réel long.
  55.     dFloat() retourne f.
  56.  
  57.  
  58. dAdd(x,y)               dAdd(x,y,to)
  59. dSub(x,y)               dSub(x,y,to)
  60. dMul(x,y)               dMul(x,y,to)
  61. dDiv(x,y)               dDiv(x,y,to)
  62.  
  63.     réalise ces opérations sur leurs arguments. 'x' et 'y' sont dans le même
  64.     ordre que leur équivalent opérateur. Le résultat est mis dans 'to', ou
  65.     dans 'x' si 2 arguments sont passés. (toutes les fonctions retournent
  66.     'to' ou 'x', respectivement).
  67.  
  68.  
  69. r:=dCompare(x,y)        r:=dTest(x)
  70.  
  71.     compare des réels longs. dTest compare x avec 0 comme second argument.
  72.     Le résultat 'r' est positif si x>y, négatif pour x<y, et 0 pour x=y.
  73.  
  74.  
  75. dRound(x)               dRoundUp(x)
  76.  
  77.     arrondi x, où dRound le fait par défaut, et dRoundUp par excès. Tous 2
  78.     retournent x.
  79.  
  80.  
  81. dAbs(x)                 dNeg(x)
  82.  
  83.     prend la valeur absolue de x ou l'opposé dex, respectivement. Tous 2
  84.     retournent x.
  85.  
  86.  
  87. dCopy(x,y)
  88.  
  89.     copie y vers x, et retourne x aussi.
  90.  
  91.  
  92. dFormat(s:STRING,x,num)
  93.  
  94.     produit un représentation de 'x' dans 's' avec 'num' décimales après le
  95.     '.'. 'num' doit être >0. Retourne s.
  96.     Pas formidable, et un peu lent, mais ça marche :-)
  97.  
  98. dSqrt(x)
  99.  
  100.  
  101. ----------------
  102. NOTE: Erwinn a ajouté pas mal de fonctions, et la documentation à ce propos
  103. peut être trouvé dans le module source, et longdemo.e.
  104. Parce que le module est plutôt volumineux, j'ai aussi inclue le module
  105. original longreal (maintenant longrealtiny.m) pour ceux qui n'ont pas besoin
  106. les huées et les sifflets...
  107.